package com.sc.nft.service;

import com.sc.nft.entity.UserEcologyHatchUpperLimit;
import com.sc.nft.enums.UserEcologyHatchUpperLimitDetailsTypeEnum;

/**
 * @author 朱梦晨
 * @Description:
 * @date 2024-08-08
 */
public interface UserEcologyHatchUpperLimitService {


    UserEcologyHatchUpperLimit getOneByUserIdAndCollectionId(Long userId, Long collectionId);


    void addCountByUserIdAndCollectionId(Long userId, Long collectionId, Integer count,
                                         UserEcologyHatchUpperLimitDetailsTypeEnum type, String eventsName, Long userRecordsId,Long ecologyHatchId,Integer sumRemainingCount);



    void addUserEcologyHatchUpperLimitDetails(Long userId, Long collectionId, Integer count, UserEcologyHatchUpperLimitDetailsTypeEnum type,
                                         String eventsName, Long userRecordsId,Integer beforeCount);

    void subUpperLimitCountByUserIdAndCollectionId(Long userId, Long collectionId, Integer count, UserEcologyHatchUpperLimitDetailsTypeEnum type,
                                                   String eventsName, Long userRecordsId,Integer beforeCount,Integer hatchDetails);


    void addCountBySys(Long ecologyHatchId,Integer beforeCount,Integer afterCount,Integer count);

    void subCountBySys(Long ecologyHatchId,Integer beforeCount,Integer afterCount,Integer count);


}
